Developers perform a packaging process on their applications to make guarantees about the state of the application and its integrity. The complexity of the packaging process has adapted to meet increasingly complex scenarios needed to fit consumer and developer requirements, such as disjoint sets of packages that operate as a single unit allowing for code or content to be created and distributed separately from the application.